#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>

int main(int argc, char* argv[])
{
  if(argc != 2){
    printf("default!\n");
    return 2;
  }
  int fd = open("log.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666);
  if(fd < 0){
    perror("open:");
    return 1;
  }
  dup2(fd, 1);
  // 写入到fd=1的文件中
  fprintf(stdout, "%s\n", argv[1]);

  //close(1);
  //int fd = open("log.txt", O_WRONLY|O_APPEND|O_CREAT);
  //if(fd < 0){
  //  perror("open:");
  //  return 1;
  //}
  //fprintf(stdout, "appen value\n");
  

  //close(1);
  //int fd = open("log.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666); 
  //if(fd < 0){
  //  perror("open:");
  //  return 1;
  //}
  //printf("fd :%d\n", fd);
  //printf("fd :%d\n", fd);
  //printf("fd :%d\n", fd);
  //printf("fd :%d\n", fd);
  //fprintf(stdout, "hello fprintf\n");
  //const char* s="hello fwrite\n";
  //fwrite(s, strlen(s), 1, stdout);

  //fflush(stdout);
  //close(fd);
  //return 0;
}



//int main()
//{
//  char buf[1024];
//  ssize_t s = read(0, buf, sizeof(buf));
//  if(s > 0){
//    buf[s]=0;
//    write(1, buf, strlen(buf));
//    write(2, buf, strlen(buf));
//  }
//  return 0;
//}

